package _01_String;

public class String_06 {

	public static void main(String[] args) {
		// String 是不能任意拼接的字符串
		String s1 = "ab";
		String a = "a";
		String b = "b";
		// 两个字面量相加,在编译阶段,会把 + 去掉,这个 + 相当于字符串连接符
		String s3 = "a" + "b";
		// 这种不一样,因为在编译,没有办法确定 a 和 b 的值,所以只能等运行起来之后在操作
		// 会创建一个 StringBuffer 对象进行拼接,然后在通过 toString 方法把拼接之后的值返回
		// 因为使用 == 比较,就不对, equals()比较就没有问题
		// 所以不管哪种赋值方式,我们比较字符串就是用 equals() 是最正确的,也是最保准的
		String s2 = a + b;

		String s4 = "a" + new String("b");

		System.out.println(s1 == s2);// false
		System.out.println(s1 == s3);// true
		System.out.println(s1 == s4);// false
		System.out.println(s1.equals(s4));// true
	}

}
